package com.jiajian.cm.mapper;

import com.jiajian.cm.domain.LoginUser;
import com.jiajian.cm.domain.SysUser;
import com.jiajian.cm.domain.vo.SysUserVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SysUserMapper {
    //1.定义一个返回类型为List<SysUser>的findAllUsers()方法；
    List<SysUser> findAllUsers(SysUser sysUser);
    //2.定义一个返回类型为SysUser的findUserById()方法；
    SysUser findUserById(Long id);
    /**
     * jwt校验
     * @param userName
     * @return
     */
    // 定义了一个名为 findUserByName 的方法，它接受一个 String 类型的参数（即用户名称），并返回一个 SysUser 对象。
    SysUser findUserByName(String userName);
    // 定义一个名为 addUser() 的方法，该方法接受一个 SysUser 对象作为参数，并返回一个 int 类型的值。
    int addUser(SysUser sysUser);
    // 一个更新用户信息的方法，方法名为 updateUser，参数为 SysUser 对象。
    int updateUser(SysUser sysUser);
    // 定义了一个名为 deleteUser() 的方法，该方法接受一个 Long 类型的参数 id，用于标识要删除的用户。
    int deleteUser(Long id);
    //验证该用户是否可以登录即用户名，密码
    LoginUser findLoginUser(SysUserVo sysUserVo);
    /**
     * 查出指定名字用户的所有id
     *
     * @param userName
     * @return
     */
    // 定义一个名为 checkUserNameUnique 的方法，它接受一个字符串类型的参数（即用户名称），并返回一个 Long 类型的列表。
    List<Long> checkUserNameUnique(String userName);
}
